#ifndef TABLESYMB_HPP
#define	TABLESYMB_HPP

#include "Symbole.hpp"
#include "SymboleVar.hpp"
#include "TableId.hpp"
#include "Type.hpp"
#include "TypeEntier.hpp"

using namespace std;

class TableSymb {

	public:
		/*
    	   TableSymb(string, TableSymb*);
    	   void Ajout(Symbole* Symbole, int id);
    	   void Afficher(TableId idTable);
     	   TableSymb(const TableSymb& tSymb);
    	   ~TableSymb(void);
    	   string getName();
    	   Symbole * getSymbole(int id);
    	   void Test();
		   int getNbSymboles();
	   */
		TableSymb(string n, TableSymb* t);
		void Ajout(Symbole *Sym, int i);
		//void Afficher(TableId Tid);
		void Afficher();
		~TableSymb(void);
		string getName(void);
		Symbole *getSymbole(int id);
		int getNbrSym();
		TableSymb * getParent();

	private:
    	map<int, Symbole *> TS;
    	string nom;
    	TableSymb * tSymbMere;
};

#endif
